package com.sccba.emtbusiness.service;

import java.util.List;
import com.sccba.emtbusiness.domain.YjczHandleTimeLine;
import com.sccba.emtbusiness.domain.YjczProductEventInfo;

import javax.servlet.http.HttpServletResponse;

/**
 * 处理时间线记录Service接口
 * 
 * @author lichh
 * @date 2024-04-24
 */
public interface IYjczHandleTimeLineService 
{
    /**
     * 查询处理时间线记录
     * 
     * @param pkId 处理时间线记录主键
     * @return 处理时间线记录
     */
    public YjczHandleTimeLine selectYjczHandleTimeLineByPkId(Long pkId);

    /**
     * 查询处理时间线记录列表
     * 
     * @param yjczHandleTimeLine 处理时间线记录
     * @return 处理时间线记录集合
     */
    public List<YjczHandleTimeLine> selectYjczHandleTimeLineList(YjczHandleTimeLine yjczHandleTimeLine);

    /**
     * 新增处理时间线记录
     * 
     * @param yjczHandleTimeLine 处理时间线记录
     * @return 结果
     */
    public int insertYjczHandleTimeLine(YjczHandleTimeLine yjczHandleTimeLine);

    /**
     * 修改处理时间线记录
     * 
     * @param yjczHandleTimeLine 处理时间线记录
     * @return 结果
     */
    public int updateYjczHandleTimeLine(YjczHandleTimeLine yjczHandleTimeLine);

    /**
     * 批量删除处理时间线记录
     * 
     * @param pkIds 需要删除的处理时间线记录主键集合
     * @return 结果
     */
    public int deleteYjczHandleTimeLineByPkIds(Long[] pkIds);

    /**
     * 删除处理时间线记录信息
     * 
     * @param pkId 处理时间线记录主键
     * @return 结果
     */
    public int deleteYjczHandleTimeLineByPkId(Long pkId);

    void batchInsertTimeLine (List<YjczHandleTimeLine> list);

    List<YjczHandleTimeLine> selectListByEventId (Long eventId);

    void deleteByEventId (Long eventId);

    void markDownLineNode (YjczHandleTimeLine handleTimeLine);

    void exportHandleTimeLine (HttpServletResponse response, YjczProductEventInfo eventInfo);
}
